package com.example.wxordersystem.service;

import com.example.wxordersystem.dto.CartDTO;
import com.example.wxordersystem.entity.ProductInfo;

import java.util.List;

/**
 * @author 常红伟 产品
 */
public interface ProductService {

    /**
     * 卖家保存商品
     * @param productInfo
     * @return
     */
    public int save(ProductInfo productInfo);

    /**
     * 卖家更新商品
     * @param productInfo
     * @return
     */
    public int update(ProductInfo productInfo);

    /**
     * 根据商品商品ID查询商品信息
     * @param productId
     * @return
     */
    public ProductInfo findOne(String productId);


    /**
     * 查询所有产品
     * @return 返回商品列表
     *
     */
    public List<ProductInfo> findAll();

    /**
     * 查询所有上架商品
     * @return
     */
    public List<ProductInfo> findUpAll();

    /**
     * 上架
     * @param productId 上架商品编号
     * @return 返回上架商品
     */
   public int onSale(String productId);

    /**
     * 下架
     * @param productId 下架商品编号
     * @return 返回下架商品编号
     */
    public int offSale(String productId);


    /**
     * 加库存
     * @param cartDTOList 将这个对象添加到库存+1
     */
     void increaseStock(List<CartDTO> cartDTOList);

    /**
     * 减库存
     * @param cartDTOList 将这个对象从库存减1
     */
     void decreaseStork(List<CartDTO> cartDTOList);

}
